Skip to content

Support eBPF profile forwarding via OTLP exporter#452

Merged
povilasv merged 9 commits into
mainfrom
codex/bump-collector-chart-v0.151.0
May 4, 2026
Merged

Support eBPF profile forwarding via OTLP exporter#452
povilasv merged 9 commits into
mainfrom
codex/bump-collector-chart-v0.151.0

Conversation

@povilasv

@povilasv povilasv commented Apr 30, 2026

Copy link
Copy Markdown

Summary

  • support forwarding eBPF profiler profiles to a node-local agent with the existing otlpExporter preset
  • keep Kubernetes profile enrichment and service-name mapping on the standard agent collector via profilesCollection
  • add OTLP exporter TLS settings and inject K8S_NODE_IP when the exporter endpoint references it
  • set x-coralogix-ingress: otlp/v1.10.0 on Coralogix profile exports
  • fix profile pod association to match container.id before falling back to connection metadata

Testing

  • helm lint charts/opentelemetry-collector
  • make validate-examples CHARTS=opentelemetry-collector
  • make check-examples CHARTS=opentelemetry-collector MAX_PARALLEL_EXAMPLES=1
  • git diff --check

Forward eBPF profiler profiles to the node-local agent by default while keeping Kubernetes profile enrichment on the standard agent collector.

Set the Coralogix profile ingress header on profile exports and regenerate opentelemetry-collector examples.
@povilasv povilasv force-pushed the codex/bump-collector-chart-v0.151.0 branch from 0c78923 to b32d3a1 Compare April 30, 2026 13:14
Comment thread charts/opentelemetry-collector/templates/_config.tpl
@povilasv povilasv changed the title Forward eBPF profiles through agent Support eBPF profile forwarding via OTLP exporter May 4, 2026
@povilasv povilasv marked this pull request as ready for review May 4, 2026 10:35
@povilasv povilasv requested review from a team, nicolastakashi and oded-dd as code owners May 4, 2026 10:35
@povilasv povilasv merged commit 4bec85d into main May 4, 2026
7 checks passed
@povilasv povilasv deleted the codex/bump-collector-chart-v0.151.0 branch May 4, 2026 10:43
@iblancasa

Copy link
Copy Markdown

So fast.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d04a67dda0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

fieldPath: metadata.name
{{- end }}
{{- if or .Values.presets.kubeletMetrics.enabled .Values.presets.kubernetesExtraMetrics.perNode }}
{{- if or .Values.presets.kubeletMetrics.enabled .Values.presets.kubernetesExtraMetrics.perNode (and .Values.presets.otlpExporter.enabled (contains "K8S_NODE_IP" .Values.presets.otlpExporter.endpoint)) }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Mirror K8S_NODE_IP injection in collector CRD template

This change injects K8S_NODE_IP for otlpExporter endpoints only in _pod.tpl, so forwarding with endpoint: ${env:K8S_NODE_IP}:4317 still breaks when collectorCRD.generate=true because templates/opentelemetrycollector.yaml only sets K8S_NODE_IP behind presets.kubeletMetrics.enabled (lines 104-110 in that template). In that CRD path, enabling otlpExporter without kubelet metrics leaves the env var unset, which makes the exporter endpoint invalid at runtime. Please apply the same otlpExporter/K8S_NODE_IP condition to the CRD env block as well.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants